<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html lang="en">
 <head>
  <title>Parsing unclosed strings</title>
  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/parsing/core-syntax/strings/investigation/002.html"/>
  <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#parsing-errors" />
  <style type="text/css">
   span { white-space: normal; }
   .a { font-family: "PASS"; }
   .b { font-family: "DROPS ENTIRE STYLESHEET"; }
   .c { font-family: "DROPS ENTIRE STYLESHEET"; }
   .d { font-family: "DROPS ENTIRE STYLESHEET"; }
  </style>
  <style type="text/css">
   .b { font-family: "DOES NOT SPAN MULTIPLE LINES"; }
   .b { font-family: "SUPPORTS SPANNING
                      OVER MULTIPLE
                      LINES (in which case ignore the next line)"; }
  </style>
  <style type="text/css">
   .c1 { font-family: "DOES NOT SUPPORT UNTERMINATED STRINGS AND"; }
   .c2 { font-family: "DROPS FONT-FAMILY AFTER THEM"; }
   .c1 { font-family: "TREATS NEWLINE AS STRING TERMINATOR AND
                       ; }
   .c2 { font-family: 'SUPPORTS CONTENT AFTER UNCLOSED STRINGS'; }
  </style>
  <style type="text/css">
   .d { font-family: "IGNORES UNCLOSED STRINGS"; }
   .d { font-family: "DOESN'T IGNORE UNCLOSED STRINGS
                        ; } /* )"; } /* */
  </style>
  <style type="text/css">
   .e { font-family: "IGNORES UNCLOSED STRINGS"; }
   .e { font-family: "; font-family: 'TREATS UNCLOSED STRINGS AS UNKNOWN TOKENS, NOT STRINGS AT ALL'; } /*
             ; }
   .e { font-family: "TREATS UNCLOSED STRINGS AS STRINGS, NOT UNKNOWN TOKENS"; } /*
     "; } 
   .e { font-family: "SUPPORTS MULTILINE STRINGS"; } /*
     */
  </style>
  <script type="text/javascript">
   function test() {
     spans = document.getElementsByTagName('SPAN');
     for (i = 0; i < spans.length; ++i) {
       span = spans[i];
       if (document.defaultView) {
         span.firstChild.data = document.defaultView.getComputedStyle(span, '').fontFamily;
       } else {
         span.firstChild.data = span.currentStyle.fontFamily;
       }
     }
   }
  </script>
 </head>
 <body onload="test()">
  <p>These results require interpretation. Do not blindly read what it
  says below and take it as a given.</p>
  <pre>
Control: <span class="a">FAIL</span>
  Test1: <span class="b">FAIL</span>
  Test2: <span class="c1">FAIL AND</span> <span class="c2">FAIL</span>
  Test3: <span class="d">FAIL</span>
  Test4: <span class="e">FAIL</span>
  </pre>
 </body>
</html>
